package com.heima.comment.handler;

import com.heima.model.common.dtos.ResponseResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.messaging.handler.annotation.support.MethodArgumentNotValidException;
import org.springframework.validation.BindException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;


@RestControllerAdvice
@Slf4j
public class ExceptionHandlers {

    /**
     * 自定义验证异常
     */
    @ExceptionHandler(BindException.class)
    public ResponseResult validatedBindException(BindException e)
    {
        log.error(e.getMessage(), e);
        return new ResponseResult<>(500,"评论不能为空");
    }

    /**
     * 自定义验证异常
     */
    @ExceptionHandler(MethodArgumentNotValidException.class)
    public ResponseResult validExceptionHandler(MethodArgumentNotValidException e)
    {
        log.error(e.getMessage(), e);
        // getFieldError()不指定参数，会默认取第一个错误信息。
        return new ResponseResult<>(500,"评论不能为空");
    }
}
